package com.nidu.demo.notify.gateway;

import com.alibaba.cola.dto.PageResponse;
import com.nidu.demo.notify.model.NotifyMessage;
import com.nidu.demo.notify.model.NotifyMessageCriteria;
import com.nidu.demo.notify.model.NotifyTemplate;
import com.nidu.demo.notify.model.NotifyTemplateCriteria;

import java.util.List;
import java.util.Set;

/**
 * 站内信模板网关接口
 *
 * @author auto
 */
public interface NotifyTemplateGateway {

    NotifyTemplate create(NotifyTemplate notifyMessage);

    NotifyTemplate update(NotifyTemplate notifyMessage);

    void deleteById(Long id);

    void deleteByIds(Set<Long> ids);

    NotifyTemplate getById(Long id);

    List<NotifyTemplate> getByIds(Set<Long> ids);

    List<NotifyTemplate> listByCondition(NotifyTemplateCriteria criteria);

    PageResponse<NotifyTemplate> pageByCondition(NotifyTemplateCriteria criteria);

    NotifyTemplate getByCode(String code);
}
